As a cron job does not run until a page load request comes, what will happen in case page-loaded is being served from cache by some caching plugin? Will WordPress still run a cron job that is scheduled to run in this case?
It depends on the plugin and the cache method you are using. For example, as far as I remember, WP Super Cache offers two different cache methods:
Using the first method creates PHP cache files that still load WordPress's functions, but do not go through the whole loading process. If this is the case, it means that the PHP functions are executed, and your cron job will probably be processed. However, since the cron jobs are usually in the theme's
functions.php file, and the PHP cache file is usually a PHP template cache, there is a chance that it won't trigger. You should have a closer look at the generated PHP cache files.
The second method simply creates status HTML files that are served directly. There is no PHP involved in this, so no cron job will be executed.