Each Panda iteration changes the "rules" a little bit. So the question of fault isn't fair. One of these two answers is possible, and maybe more:
1. Everything was good until Google recalculated the way Panda works. Then there was a factor present in the site that they decided to demote for the first time, something they never demoted before.
2. When Google recalculated Panda, the new version had some buggy logic and it made a poor decision. If that's the case, it should sort out in the near future.
Anyone who copes with Google has this struggle to work with, and we just don't know enough to answer your client's question for sure.