There is blame, and there is responsibility.
It is your team, and you are responsible. The buck stops with you.
That said, the BLAME goes to the one who made the mistake, but you're not going to blame him or throw him under the bus.
The professional way to approach this is to accept responsibility for your team, nothing about the workings of your team gets discussed outside your team.
You take the hits with the higher-ups, and say simply:
We found the cause of the problem, and have corrected it, on behalf of my team, I apologize.
And leave it at that.
Your team member made a mistake, have a long talk with him and explain what happened, and ask him how he will ensure that it does not happen again, and leave it be unless it happens again.
If there was no economic impact, and the other groups continue to harp on you, simple repeat:
The problem was caught in time, and corrected. Thank you for your concern.
The most important thing in a team is trust. As a team leader, if you threw one of your people to the wolves, not only would you lose HIS trust, but the trust on everyone in the team, as they'd know you wouldn't protect them.
Also, if I were in the position of any of the stake holders, I would lose respect for you as well. It looks very bad when a team leader blames one of his team for anything, and I'd assume you were weak or incompetent, or both.
Standing up, and taking RESPONSIBILITY for your actions, and the actions of your team is what a leader does. Assigning blame is not.
Shall I mention that my colleague built the app in the wrong environment? Or just take the blame and hopefully expect for the best.- If you're the team lead then you take the responsibility for the work of the team.