If you are certain that you know that a particular output was received at an address that was under the control of the person that arranged for you to receive the bitcoins, then you can retrieve the public key from the transaction ScriptSig.
And how is this technically done?
If you are using Bitcoin Core with tindex turned on, then you would use the following command:
getrawtransaction TRANSACTION_ID
replacing TRANSACTION_ID with the actual transaction ID of the transaction you are interested in.
Note that this only works if the user that sent you the bitcoins had previously received those bitcoins at an output that used a script requiring a an ECDSA signature for the key you are interested in. If the output script doesn't require a signature from the public key you're interested in, then you wont be able to get the public key.