it varies from project to project. there are cases where QA actually does have an abysmally bad find/regression rate or where publisher-controlled QA is specifically not given bugs that relate to gameplay at the end of development, just TCR/TRC requirements because they only care about passing certification. if QA testers have a sub-10 find rate per day and the dev play test hour yields an average of 15, that's a problem. we really do depend on QA to find bugs and do proper write-ups and regressions on them.
programmers are like any other branch of development. they have responsibility for both the specific things they are implementing and for how they integrate with the work of their co-workers. specifications change a lot on games because play testing and iteration are such important parts of how games are developed. solid engineering prevents problems from arising as specifications change, but not all programmers are good engineers. a lot of "fast" developers (not just programmers) are fast because they are sloppy. the frustrating thing is that both QA and other developers often wind up catching the ball down the road because the underlying problems aren't fully realized until long after initial implementation.
i worked on a project where a designer's choices over the course of development had created a large number of interesting scenarios built on extremely fragile scripting. the scenarios were fine on basic testing but the designer had not thought through all of the ways the scenarios could be broken. in the end, two other designers who had already cleared their bug queues had to spend weeks fixing the initial designer's content. i've also worked on projects where a programmer, given a spec, repeatedly doesn't implement the spec as written but the deviance from the specification isn't realized by QA and other devs until months or even a year after the initial implementation. assuming that someone isn't jerking QA around on the publishing side, ultimately it's QA + the devs' collective responsibility to design, engineer, implement, test, fix/revise, and regress in a non-idiotic way.