A statement on City's official website noted the Spain playmaker was "not fully fit" despite scoring an 83rd-minute winner in Sunday's Premier League game against West Ham at the Etihad Stadium.
City have already secured their progress as group winners after winning five out of five in the round robin stage and there is an expectation manager Pep Guardiola will field a weakened line-up, with an eye on Sunday's Manchester derby at Old Trafford.
Teenagers Phil Foden and Brahim Diaz made their Champions League debuts as substitutes in the 1-0 win over Feyenoord last time out, while fellow academy products Tosin Adarabioyo and Daniel Grimshaw are also included.
Kevin De Bruyne is suspended after collecting three bookings in the competition but Silva is the only additional senior player missing from the squad, alongside injury absentees Benjamin Mendy and John Stones.
"I said to the players in the locker room that the guy who does not want to play against Shakhtar, let me know please," Guardiola said after the West Ham game, insisting the forthcoming fixture in Ukraine would not be an afterthought.
"The moment we take the bus and the plane to go to Ukraine I am going to prepare the game to win the game – out of respect for Shakhtar, respect for Napoli and respect for the competition.
"It is a big opportunity to get 18 points out of 18, which is prestigious for the club. The best way to prepare for the United game is playing good against Shakhtar."
Shakhtar have nine points and currently occupy second place in Group F, having traded victories with Napoli, whose two defeats to City leave them on six points.
United will be without Paul Pogba for the derby after the influential midfielder was sent off during Sunday's win over Arsenal. City are top of the Premier League, eight points clear of their neighbours in second.