How to show taxonomy in WordPress shortcode

First problem I see without testing anything is that your $post variable is not globalized. Try transforming your shortcode_for_genre() fuction to something like that:

function shortcode_for_genre() {
    // only proceed if viewing a singular movie cpt.
    if ( ! is_singular( 'movie' ) )
        return '';

    global $post;

    ob_start();
    the_terms( $post->ID, array( 'taxonomy' => 'genre',), '', ', ', ' ' );
    return ob_get_clean();
}

add_shortcode ('genre', 'shortcode_for_genre');