If you take n addresses, probability of a collision (two distinct addresses hashing to the same value) is close to n2*2-159 (for practical values of n). In practice, you can totally ignore the risk of a collision (your risk of being munched to death by a rabid bear is way higher than that).
Note though that:
SHA-1 has some cryptographic weaknesses, which make it somewhat easier for an ill-intentioned individual to create on purpose two distinct email addresses which will hash to the same value. This is still a theoretical weakness, because while the described method is faster than the theoretical cost of 280, it still entails the substantial number of 261 hash function evaluations. Also, it might be difficult to retrofit the computed collision into the format of email addresses. Anyway, you might be a bit more cautious to use SHA-256 instead of SHA-1 (and it will look better if you are audited).
Email addresses can be case-insensitive. In particular, the domain name (after the '@') is, by statute, case insensitive, so example.com, Example.COM and exAmPLE.cOM are all equivalent. For what appears before the '@' sign, this is site-dependent. You may want to do some normalization before hashing, and it is possible that there is no good solution which will work for all existing email addresses.
Edit: although this answers your exact question, you would be well advised to look at @CodeInChaos' answer, which tries to see a bit further in your problem: if it is possible to supply an email address and verify that it matches a stored hash, then it makes it possible to "try" potential email addresses against the hash value, and it tends to work. This is a variant of the dictionary attack and it may or may not be a big issue with your security model.