A bit late to the party, but I have the same issue, GTX 1080 shows 8 GB in GPU-Z but shows 4 GB in Speccy. Here's a screenshot.
@mta my return value for that command (including GTX) has for AdapterRAM "4293918720" (wait, if I divide enough by 1024, that's 4095, same as Speccy). My VideoProcessor is indeed "GeForce GTX 1080". Why are both of these off from not only GPU-Z (and CPU-Z), but also from the manufacturer who clearly wouldn't ship the product with half the RAM hoping no one would notice, I mean unless I'm the first person to notice.