Missing current_page_item in custom menu

The current-item CSS class generated by wp_nav_menu() is .current-menu-item. However, wp_nav_menu() also has backward-compatibility with wp_page_menu()/wp_list_pages(), and does output .current_page_item (if the current context is a page post-type, of course).

So, a couple of possibilities:

  1. The current context is not a static Page
  2. You’re using a custom walker for the wp_nav_menu() output, that doesn’t output a CSS class for .current*.