You can use the classic method of rendering with your pixel shader to the back buffer and use copyTexSubImage to copy the backbuffer contents to a texture. This is probably easier than rendering using a pbuffer and copying it contents to the texture. The only time using the backbuffer will not work is if it's dimensions are less than the texture.
If you're going the pbuffer route, you may as well use the WGL_ARB_render_texture extension.
Hopefully the ARB super buffer extension will be resolved soon (and in a way that works well of course.)