You have that backwards.
On average a single Bitcoin address will map to 2256-160 = 296 key pairs.
That is way more than a million.
But a given key pair will map to only one Bitcoin address.
(Well a key pair has two possible representations so in fact there are two Bitcoin addresses for each key pair because the two different representations of the public key: compressed and uncompressed, each map to a different Bitcoin address)
Exactly. Your question is incorrectly phrased, addresses cannot generate private keys, it's private keys that generate addresses.