I put my GPU from slot1 to slot2 of my PCIex16 and now it is showing x16 again.
Dont ask me why but it worked.
Now you should try placing it back in slot 1, and see if it works there now.
I have found, almost without exception, that this issue is a result of poor/incomplete physical contact in the PCIex slots. Using a good-quality contact cleaner on both the GPU insertion tab and in the slot itself, I have nearly always been able to solve the problem [especially when I know that the card worked at x16 previously.]
Look for any warpage on the insertion tab itself, or any dirt/corrosion on the contact areas of the card and the slot. Sometimes it takes a little perseverance, and reseating the card in/out several times. On heavy GPUs, look for sagging of the card after insertion, and if it sags try using a small support to wedge the sagging section of the card up. I have seen this solve the problem, and have concluded that when the card sags, it loses contact in the slot.
I don't claim that this will solve the problem every time, but I've see it on at least 20 different computers and in every case but one I solved the issue this way.