If a contact has more than one key - perhaps some old keys in addition to the current one - and the wrong key is being used for encryption, find the old keys and reduced their Trust status to Not Trusted. They will remain available for decrypting old messages, but not used for new ones.