Apple's iMessage does this, each device has a public/private key that is shared. When you send a message it is encrypted with all of the recipient's devices public private keys. If the device is not on at the time Apple holds on to the encrypted message but cannot read it because the private key is stored on the device. The only downside to this is that you cannot sync old messages to a new device.