Looking at the wp_postmeta table, you can see the page template is stored there.
Therefore, a simple call to update_post_meta
(codex) should do the trick :
update_post_meta( $post_id, '_wp_page_template', 'my_template.php' );
The filename and extension is necessary, as per my example.