Check the .htaccess file and see if its redirecting www. to http: Most people have the .htaccess file set to redirect http:// to www but yours might be backwards.
Also, if you have installed any script in your root directory like wordpress blog, forum etc. then make sure that you have entered your site URL with WWW. Kailash
Sometimes, if you have an SEO plugin enabled, this will be one of the things it does. The reason being, to google links to http://www.yourdomain.com and http://yourdomain.com aren't identical, so you'll get 'credit' (linkjuice) tallied separately for the two. If, however, your plugin has set your domain up with a permanent redirect, the search engines will allocate all that linkjuice to one entry and give you a higher score. In your plugin, if that's what's done it, you usually have the option to set it all to go to http://www.yourdomain.com or all to go direct to http://yourdomain.com - once you've made the choice, though, it's best to stick with it. Personally, I've got mine set up to go without the www. When I'm putting links onto twitter, anything over 30 characters goes to a shortening service & loses the name, so shorter is sweeter in my book...
if you are using wordpress you need to change the site url and blog url inside the settings and not modify the .htaccess file manually. then again, the www thing is deprecated, and the search engines will start to look at it as a sub domains in a while.