A transfers ETH to B: who needs to be in sync with the blockchain? My comprehension is that A only needs to be sync, is that correct ?
Neither of the clients need to be in sync to get the transaction through.
For a transaction to be valid you only need to have enough funds on the sender balance, use the correct nonce for the sender account (that you could retrieve from a block explorer for example) and sign the entire thing with the sender's private key. If you inject just a transaction into the network, it will happily accept and process it.
Péter provides the answer to the general question about transactions.
In practical terms, when using a wallet, a sender of Ether needs to be in sync, otherwise the wallet may generate an invalid transaction that will never be processed.
For example, a wallet that's not synced (and unaware of Ether the sender may have already spent) might use a wrong nonce or try to send more Ether than what the sender actually has.