Is it possible to determine if data was encrypted by a specific public key? If the prover provides a block of data and a public key. The provided data is supposedly ciphertext that was encrypted using the provided public key. Is there a way to prove that the provided data has infact been encrypted using that specific public key?

The verifier does not have access in any way to the plaintext data or the private key. However, the prover does have access to the plaintext data and private key, and can provide additional information to assist in proving, as long as zero knowledge of the plaintext data and private key are exposed to the verifier.

Update:
Based on the current responses, it seems unlikely that the verifier would be able to prove or disprove the claim by the prover using only the provided data and public key. However, the question still remains if this could be accomplished using some form of additional proof data, possibly in conjuction with a zero knowledge based algorithm.
This depends on the scheme that is being used.

In the case of a scheme that behaves like a random oracle: We could assume that the scheme that is used behaves as a random oracle, and that we are to infer by the ciphertext that some specific key was used. This would imply that we could actually get some information about the key, by knowing only the ciphertext (and not the plaintext). Namely if a specific key was used to encrypt the plaintext. This would however violate the assumption that the scheme behaves like a random oracle. So in the case of a random oracle the answer would be no.