In your jQuery code there is a comma after the backgroundPosition portion:
backgroundPosition: '-20px 0px',
However, when listing the various properties you want to change in the .animate() method (and similar methods), the last argument listed between curly braces should not have a comma after it. I can't say if that's why the background position isn't getting changed, but it is an error and one I'd suggest fixing.
UPDATE: In the limited testing I've done just now, entering purely numerical values (without "px") works for backgroundPosition in the .animate() method. In other words, this works:
backgroundPosition: '-20 0'
However, this does not:
backgroundPosition: '-20px 0'
Hope this helps.