Is there an asymmetric encryption algorithm where the public key cannot be derived from the private key Is there an encryption algorithm that will produce a public key and a private key such that the public key cannot be generated using the private key.

For example, if the private key is compromised but the public key is not then messages can only be decrypted and not encrypted.
RSA could do what you want: just put only the private exponent and the modulus in the private key, and not the prime factors of the modulus. Since the factors are not needed to decrypt, this will not hurt functionality.

This assumes, of course, that the party generating the keys has a reliable way to destroy the factors when they are not needed, but this seems to be implicit in what you are asking: since the key generation algorithm outputs both keys, if no reliable way to destroy data exists and the generating party is compromised, the attacker can both encrypt and decrypt.