Another personal favorite is stating unequivocally, loud and clear that "This was my mistake". It is tempting to just fix the mistake but even if you have fixed it, if there isn't clear declared ownership, you probably haven't addressed the root cause.
Doing this keeps you honest to yourself and also removes the awkward air where no one knows who is responsible for this mistake because no one has taken ownership. To pull this off you need an environment that won't punish mistakes by default.
There are absolutely fireable mistakes but if you do this right, the employee should volunteer to be let go because he realizes the gravity of his error.