Cabrera played first base in Saturday's 11-3 loss to the Indians. He went 0-for-3 before he was replaced by a pinch hitter in the ninth inning.
Manager AJ Hinch said Cabrera has been dealing with soreness for a while and felt it "grab" on a swing in the seventh inning.
Hinch said the 11-time All-Star will undergo tests Sunday in Cleveland. He'll stay with the team and travel with the Tigers to Houston.
Cabrera, 37, who has 488 career home runs, is off to a slow start in 2021. He is batting just .125 (3-for-24) with one homer and three RBI in seven games.
To replace Cabrera, the Tigers selected the contract of infielder Renato Nunez.
Cabrera's injury is the second significant one for the Tigers this weekend. On Saturday, starter Julio Teheran was placed on the injured list with a shoulder strain and he could miss months. Detroit moved him to the 60-day injured list Sunday.
Hinch said Teheran will undergo more testing, but in the last 24 hours it has become clearer that he will be out much longer than initially expected.
To replace Cabrera on the roster, the Tigers selected the contract of infielder Renato Nunez, who joined Detroit on a minor league deal before spring training but was reassigned to the team's alternate training site on March 30.
Nunez spent the past three seasons with the Baltimore Orioles and had a career-high 31 homers in 2019.
The Associated Press contributed to this report.