First of all, does every public key have a corresponding private key or can more than one public key correspond to just one private key?
Could you not generate the same key as someone else by fluke? What happens if someone sends bitcoins to this key?