Yes, it's possible in various ways, mostly routing errors or deliberately setting routes on the hosts to send traffic for the other host to somewhere that doesn't exist.
It can also be forcibly achieved by putting firewalls in the way and configuring them to block some of the traffic.
1) Could happen accidentally with routing mistakes - outgoing and return traffic can have different paths, so it's possible A has a route to B that works, and B has a route to A that goes into a faulty or misconfigured device somewhere along the way and the traffic is lost. I saw this happen at work this week.
2) This could happen accidentally if the next-hop devices have poor configuration, but it's a bit of a contrived situation. e.g.
A is on 22.214.171.124/24, gateway: 126.96.36.199
B is on 188.8.131.52/24, gateway: 184.108.40.206
but the gateways are set as 220.127.116.11/16 and 18.104.22.168/16. So each host is configured fine, but each gateway won't send traffic destined for the other host out to the internet, because it thinks the host should be local. But both A and B can access most of the rest of the internet - just losing access to 1.0.x.x sites.
Edit: this appears to be about the same as your other question here: for a pair of hosts on Internet, are the routes the same in two directions?