Ferguson accused his play-off hopefuls of letting the club down in the wake of a dismal home defeat.
Posh gifted City striker Sam Baldock a simple early brace before failing to haul themselves level despite playing the final 70 minutes against 10 men following the dismissal of Adam El-Abd.
Ferguson said: "I have been so patient with these players, but to start a game in the manner we did is a disgrace.
"They showed a lack of character, a lack of fight and I'm not having any more of it.
"They have let the club down, let the fans down and let themselves down.
"If they think they can just turn up and win a game they are living in cloud cuckoo land.
"I won't shirk away from my responsibilities as manager, but you are only as good as your players.
"If my lot were left to their own devices they would be relegated by now. That is the truth."
Posh fell behind after 10 minutes when Baldock nodded in after Brendan Moloney had headed Wade Elliott's cross back into the danger area.
Baldock was left with another easy task six minutes later after Elliott had beaten Posh goalkeeper Bobby Olejnik to Jay Emmanuel-Thomas' flick and hooked the ball across.
City defender El-Abd saw red after an off-the-ball clash with Posh forward Britt Assombalonga, but the home side took a while to warm to their task.
Michael Bostwick pulled them back into contention when finding the net with their first effort on target - a glancing header from Grant McCann's corner.
Posh dominated the second period, but could not turn their possession into a leveller, thanks largely thanks to a couple of terrific late saves from Frank Fielding.
The City goalkeeper produced an outstanding reaction save to deny Nicky Ajose before getting a fingertip to Assombalonga's header.