By far the most likely problem is that when you installed Ubuntu, it overwrote the MBR of the hard disk.
To repair the MBR, use the Bootrec.exe tool in the Windows Recovery Environment. Super Grub Disk may also be able to write generic MBR code, but I have never used it.
To explain more fully, when IBM designed the PC, they decided that the MBR, the first 512 bytes of the disk, should contain the code to do the next part of the boot process and the partition table.
The generic type of code in the MBR finds the partition that is marked
active in the partition table and loads the first 512 bytes of that partition. This is written by the operating system and will generally allow you to select the operating system to boot and continue from there.
So BIOS code runs MBR code runs active partition code. The active partition code may be the Windows bootloader that EasyBCD edits, Grub (stage 1), Lilo, or anything else.
The problem comes because many Linux distributions take a shortcut in the boot process. Instead of loading Grub at the start of a partition, they load it into the MBR. As the Grub (stage 1) just looks for the rest of the Grub system, it is not able to boot Windows without having loading the rest of itself.