i thought i had posted this before, but cannot find it anywhere...
so, here it goes, locate the function add_menu_page() around line 120 of /plugins/contact-form-7/admin/admin.php and add the full path to the icon as the last parameter of the function
in my case i uploaded the icon into my theme images directory, so the function is like this:
add_menu_page( __( 'Contact Form 7', 'wpcf7' ), __( 'Contact', 'wpcf7' ),
WPCF7_ADMIN_READ_CAPABILITY, 'wpcf7', 'wpcf7_admin_management_page', get_bloginfo('template_url') . '/images/icon-contact-form7.png' );
you can put a full path instead, where I use get_bloginfo().'mypath/icon.png' you could use 'http://yourdomain.com/your-directory/your-image.png'
i got best results with PNG transparent 16x15