Trouble with wp_nav_menu, conditional tags and fallback_cb

Ideally, you should be passing the “theme_location” argument to wp_nav_menu().

Register your three menus in functions.php:

register_nav_menus( array(
     'front_page' => 'Front Page Menu',
     'single' => 'Single Post Menu',
     'default' => 'Default Menu'
) );

Then, replace your code above with:

if ( is_front_page() )  
{
     wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'front_page' ));
} 
elseif ( is_single() )  
{
     wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'single' ) );
} 
else 
{
     wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'default' ));
} 

Then, ensure the appropriate custom menu is defined for each Theme Location, via Dashboard -> Appearance -> Menus