The 35-year-old featured as a substitute in the 3-0 win over Italy on Saturday after a three-year absence from the team, before suffering an injury in training.
"Having monitored the strain suffered by David Villa in this morning's training session, it was decided that the player would leave the squad and not travel to Liechtenstein," the Spanish football federation said.
New York City striker Villa is Spain's all-time top scorer with 59 goals and was capped for the 98th time against Italy.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
(Reporting by Rik Sharma, editing by Ed Osmond)
