How do I add a menu router that works even in the maintenance mode? when a Drupal site is in maintenance mode (not due to a technical fault), users without permission cannot access any page other than /user. 

Is there any special hook to define a specific menu router should be allowed in maintenance mode ?

I checked user_menu but there does not seem to be any clue about this.
You can use hook_menu_site_status_alter() to change the site status for a specific path.

Control site status before menu dispatching.
The hook is called after checking whether the site is offline but before the current router item is retrieved and executed by menu_execute_active_handler(). If the site is in offline mode, $menu_site_status is set to MENU_SITE_OFFLINE.

The user module implements that hook (user_menu_site_status_alter()) to make sure the site is always online for the user, user/login, user/password and user/reset/* paths. It should be simple enough to use the logic from that function to implement it for your custom path, e.g.
function MYMODULE_menu_site_status_alter(&amp;$menu_site_status, $path) {
  if ($menu_site_status == MENU_SITE_OFFLINE &amp;&amp; $path == 'my-path') {
    $menu_site_status = MENU_SITE_ONLINE;
  }
}