Maybe the available/installed ssl certificate matches the child site domain/hostname but not the main site?
SslIsAvailable would generally be a global setting and would apply to all sites but it is also possible to set it on a site by site basis using Site1-SslIsAvailable, Site2-SslIsAvailable etc