Yes, it’s possible. Assuming your logo is located @ “/wp-content/uploads/NAMEOFFILE.png” and the alternatives are:
“/wp-content/uploads/alternative_1.png”,
“/wp-content/uploads/alternative_2.png”,
“/wp-content/uploads/alternative_3.png”, etc…
add this in your child theme’s functions.php:
add_filter('tc_logo_title_display', 'my_logo_title_display');
function my_logo_title_display($output);
$default_logo_location = '/wp-content/uploads/NAMEOFFILE.png';
if (is_page(array('XXX')))
return preg_replace('|'.preg_quote($default_logo_location,'|' ).'|', '/wp-content/uploads/alternative_1.png', $output);
elseif (is_page(array('YYY')))
return preg_replace('|'.preg_quote($default_logo_location,'|' ).'|', '/wp-content/uploads/alternative_2.png', $output);
elseif (is_page(array('ZZZ', 'WWW')))
return preg_replace('|'.preg_quote($default_logo_location,'|' ).'|', '/wp-content/uploads/alternative_3.png', $output);
else return $output;
where you need to replace XXX, YYY, ZZZ and WWW with actual id’s of the pages where you want the logo changed and, of course, the actual links to each logo for each case.
I explained a principle, you could use any WP Conditional tags instead of is_page() and adapt it for some categories, taxonomies, custom post types, tag pages, search results, whatever suits your specific needs.