No one likes being under the gun. A ball is dropped, a project unfinished, and someone is to blame.
When we're confronted and expected to provide an answer, it's easiest to blame someone else. To say, "I would've been able to do it but (insert coworker here) forgot to do (random responsibility here)," seems to come naturally. If you're a manager and have people working under you, it's even easier to pass the blame down to them.
The fact is, someone else may very well have been the weak link, but throwing someone under the bus is never glamorous. If a coworker has continual integrity issues, of course bring that to your superior (not a peer, that's gossip). But more often than not, own the responsibility.
Simply apologize, and promise to get it done. Then deliver. That's true character.