I can tell you exactly what's going on in John's head, because I am John. Or I have been.
I would be willing to bet that, from John's perspective, he pointed out that the course of action he's been asked to take would cause problems. Now, there are problems (maybe even of the type that he predicted), and he's feeling like he's catching shit because he did what he was asked to do, over his initial objections, and the result, as he predicted, was bad. I have no idea how you managed to override him if he is the more senior developer, but from what you are quoting him as saying, clearly you did.
The reason he's saying "it's not my fault" is because he wants you to learn from the negative consequences that come from overriding him without properly hearing what he has to say, so it won't happen again. At a more basic level, he feels that he isn't being heard. So the first thing you need to do is to properly understand what he thinks happened. Ask lots of leading questions like "What do you think would have been a better way to handle this?" or "What would your ideal solution have looked like?" Resist any urge to argue or judge.
I suspect that you will learn at least a few things that John might have contributed that may well have made the project run a little better had he been able to get them heard before the fact, rather than after. However, John communicates better with machines than people, and he may not actually know how to turn these nebulous feelings that something's not right into compelling arguments that your team can take on board. Even if you think John is completely wrong and there was nothing you could do differently, the fact that you slowed down and completely heard him for once should go a long way toward cooling him down. I can tell you from experience that if he is saying the things you say he is saying, he is very angry and probably depressed. So go to lunch together or get coffee and put some real effort into this part.
Moving forward, try to be an ally to John to make sure he is fully heard. Again, ask the types of questions I mentioned above. Don't let people talk all over him all the time. Where I was when I was John, the people on my team consistently would ask me a question, let me get three words into the answer, then talk over me. Somehow, I was the one who was rude when, after the third attempt, I'd say "Do you want me to answer or not?"
The point I am making is that there are a lot of things you and your team could be doing to shut John down and not even be aware of it, even if you're not using the tactic my erstwhile team did.
If you can help John be fully heard, you'll have a new best friend. It's possible John has really good instincts and the team would be the better for listening. Even if not, actually fully discussing the ideas until a real decision comes out one way or another should enhance the decision-making process and may help morale for everyone. John may not be the only team member feeling marginalized, just the only one whose style makes you uncomfortable.
As far as going to the boss, many managers will be as likely to think you are at fault as John (maybe more so, if you remember how your mother reacted when you came to her telling tales). And I'm hoping that I've laid out enough of what John's perspective might be where you can see that, actually, there's probably some fault on moth sides. Please put in the effort trying to work this out with John. I think you'll be glad you did.