Forcing page to top of the list when using get_pages

if the result of query_posts($args) is the array of which you want to modify the order, something like that could possibly work:

$the_posts = query_posts($args);

$mypost = [];
for ($i=0;$i<sizeof($the_posts);$i++){
    if ($the_posts[$i]['id'] === '196'):
        $mypost = $the_posts[$i];
        unset($the_posts[$i]);
    endif;
} 

if(!empty($mypost)):
    array_unshift($the_posts,$mypost);
endif;

//your loop with the new post array
foreach $the_posts as $post_iteration:
    setup_postdata($post_iteration);

    the_post_thumbnail()....
endforeach;
wp_reset_postdata();

tech