How to direct user to actual 404 page when a check is false in single.php?

You can use the locate_template() function to include the 404 template. Remember to do this instead of using get_header() or generating any output; otherwise you will have a duplicate.

<?php

if ( ! $myVar ) {
    status_header(404);

    global $wp_query;
    $wp_query->is_404 = true;

    locate_template('404');
    return;
}

// otherwise, show the following HTML