This is a matter of subtracting the camera's position from the sprite's position and seeing if the mouse is within its bounds.So for instance if the camera is now at 200,100 in the world coordinates, that means the center of the scene (0,0) is at (200,100). So if the sprite is at 201,101, the sprite is now at 1,1. The last step would be to figure out the size of a world coordinate unit in screen units; this depends on whether you chose a fixed-pixel size for each unit, or to stretch each unit so there are always visible a certain number of them either horizontally or vertically. For the first, you would simply figure out the conversion ratio; if the screen is 800x600 and the units come out to 32px, then 201,101 starts at 432,332 (for example.) therefore, the sprite's bounds start at (432-400)/400 , (332-300)/300. Its upper bounds would probably be (464-400)/400,(364-300)/300. Those two pairs of decimals could then be checked against the mouse-coords to find if the mouse was over the sprite.For the second, the process would be the same except you'd already know the percentage of the view a single unit was, like say there is currently 32 units in view, then each unit would be 1/16 of x making 201,101 come out as 1/16,1/16 and its upper bounds 2/16,2/16 (they'd be decimals.) This could be directly tested against the mouse coords.
So is this in 2d or 3d?
http://www.opengl.org/sdk/docs/man2/xhtml/gluUnProject.xml If you wan't a more dynamic method that takes into account projection and modelview matrices as well as viewport transform etc.