Function filter breaking tag archive menus

is_tag() is true for the entire tag archive page and for any queries that run on it. You need to restrict that code to only run for the main query on that page and that hte query is a tag query and not some other kind of query, like a menu query. You do that by checking the actual query object being used.

   function myTagFilter($query) {
      $post_type = $_GET['type'];
      if ($query->is_main_query() && $query->is_tag()){
        if (!$post_type) {
            $post_type="any";
        }
        $query->set('post_type', $post_type);
      }
      return $query;
    };
    add_filter('pre_get_posts','myTagFilter');

is_tag(), is_single(), and other conditionals like that are functions that check the global $wp_query object. You have to be careful not to use them to check things that are not that global object.