I had the same problem where 1 out of 25 sites would not show the site even though I was logged in. I’m not sure why but the following solved it.
In the network admin sites list (your-site.com/wp-admin/network/sites.php) change the Site Address (URL) to anything.
Next copy this site using a duplicator plugin (I’m using MultiSite Clone Duplicator). Clone the site you just changed the name on giving it the original url. Then delete the original.
That fixed it for me. Hope it helps you out.
FYI I have path based installation so I don’t know if this will work for sub-domain installation.