Is it possible to do a transaction with someone if only one participant of this transaction has internet access? I am thinking about a scenario where I try to pay with IOTA inside a shop where I don't have internet access but the shop does.
First of all, the recipient of a transaction does not need internet access at all to receive the funds (he might need it to verify that they indeed have been received, though).
But your question is more about when the sender does not have internet access (e. g. in a Point of Sale situation).
To create a transaction, the sender' device needs to be able to obtain the destination address where to send the money to (could be possible by scanning a QR code or e. g. via NFC or BlueTooth); also it needs to know the value to spend (may probably even be typed in by the user of the device, or also via QR code / NFC / BlueTooth).
Then the sender needs to sign the bundle with this information (his source address, sender address, change address, destination address) - this can be done entirely offline (assuming that the device caches the balance and which address holds which amount of money), only thing that is needed is the seed (stored on the device somewhere).
Last but not least, the signed bundle needs to "move" to a place that can access the internet, to find tips, perform the PoW and transmit it to the tangle. This is the toughest part, since QR codes or manual typing is not really feasible here due to the length of the signatures involved. Therefore, your device will need some kind of communication (NFC or BlueTooth probably, or Internet access) to transmit this information to the PoS terminal, which can validate the signature (which can detect invalid transactions, but is no guarantee against double spends), find the tips, do the PoW and transmit the transaction.
Then, depending on how afraid the shop is of double spends, he might let you leave and in the background reattach/promote it until confirmed, or make you wait until it is confirmed.