The possible number of bitcoin addresses is 2^160 but IIRC no one is counting the total number of unique addresses used. You could try to do this by analyzing the blockchain but that's surely going to be ersource intensive given the number of transactions in there.
It is very probable that there are nearly 2 ** 160 bitcoin addresses, but it cannot be proved if all exist.
For a bit of background, lets examine a hash function. An ideal crypto hash algorithm would act as a random oracle, where every possible input generates an output that while discrete, is completely random. Random numbers, as in not necessarily unique.
For this example, we'll make it a (meaningless) 1 bit hash function. A coin toss. One random oracle hash function might have heads=1, tails=0. Another random oracle might result in heads=1, tails=1. Since the output values of the hash function are completely random, a case where two inputs have the same output value is a valid hash function.
In this simplest case, the chance that for any hash function the second output is a duplicate of a first one is 50% - a 50% chance that although the number of inputs is 2, the number of possible outputs is one.
This idea can be scaled up. For Bitcoin's RIPEMD-160, if we look at every possible 160-bit input (from 0 to 2^160-1), there will be many duplicate hash outputs if the algorithm is truly "random". A mapping of 1:1 input to output would be a non-oracle hash and breaks many crypto assumptions. Such expected hash collisions have been proven on other crypto hashes. For every duplicate, there must be by necessity one non-existing output value. There are not 160 bits of output for 160 bits of input.
The funny thing is that we aren't putting just 160 bits into RipeMD-160, the message we are hashing is the 256-bit output of SHA256.
For this case where the message is larger than the output, lets go back to our 1-bit hash. Lets say that our input message two bits; possible inputs are 00,01,10,11. All we have to do is look at all possible inputs, and then see if all possible outputs, both 0 and 1, were generated. A "1" output never being generated is still a possibility.
For our 2-bit message, it is easy to check whether we get all possible outputs. However when the number of possible outputs is way higher than the number of atoms in the universe, it is a bit harder.
It is very probable that even with a 256-bit input message that there are many ungeneratable Bitcoin addresses, from sheer probability, or further, from underlying hash algorithm biases or the mandatory non-oracle behavior in RIPEMD forced by using real-word algorithms.