It can happen when a player's skills change, for example either through training or age related declines.
The listed position is derived from a formula where each skill is weighted differently for each position. The skills felt "most important" are weighted most heavily, such as JR and OD on SGs, or PA and HA on PGs. The player's current skills are fed into these equations, and the one that gives the largest total will be what the listed position becomes.
Note that the listed position has no bearing on the performance of the player at other positions. Of course, the particular skills do matter, but the player won't have an extra penalty by playing out of the listed position.