in_category() works in single.php but not in page.php?

Unless you have added the functionality with a plugin or custom code, Pages are not placed in Categories. Pages are organized with Parent Pages and Children Pages. This is why (I suspect) in_category() does not work in page.php

The following code in functions.php will add categories to Pages.

/**
*   Add categories to Pages.
*   from http://shibashake.com/wordpress-theme/add-tags-and-categories-to-your-wordpress-page
*/ 

    function add_custom_tags_box() {
        add_meta_box(   'categorydiv', __('Categories'), 'post_categories_meta_box', 
                'page', 'side', 'low'); 
       register_taxonomy_for_object_type('category', 'page');
    }  

Hope this helps.