You can think of the blockchain as a database of a shared ledger. In the p2p world, think if it as a massively distributed file that is constantly being updated. Transactions are verified by many clients, which is how one knows a transaction is valid.
Wallets are nothing more than public/private key pairs that allows one to sign the “coins” that are theirs. Sending coins to a public wallet is akin to encrypting a message to someone using their public key. Spending or moving those coins requires the private key, which is analogous to decrypting a message sent only to them. All clients that allow one to create a “wallet” only create the public/private key pair. Coins are always only “in” the blockchain file.