QA should focus on Black box testing. The main goal of QA is to test what the system does (do features meet requirements ?), not how it does it.
Anyway it should be hard for QA to do white box testing as most of QA guys aren't tech guys, so they usually test features through the UI (like users).
A step further, I think developpers too should focus on Black box testing. I disagree with this widespread association between Unit testing and White box testing but it may be just a question a vocabulary/scale. At the scale of a Unit test, the System Under Test is a class/method which has contract (through its signature) and the important point is to test what it does, not how. Moreover White box testing implies you know how the method will fill its contract, that seems incompatile with TDD to me.
IMHO if your SUT is so complex that you need to do white box testing, it's usually time for refactoring.