WordPress uses the move_uploaded_file() function. In this case it is failing at this portion.
Several error types can happen. Here’s the list.
http://www.php.net/manual/en/features.file-upload.errors.php
Under the wp_handle_upload() function, you can use the print_r($_FILES) function to see the error. Place it after the move_uploaded_file() function is called and call the die() function next.
wp-admin/includes/file.php
Alternatively, you can install a 2nd WordPress to see whether it has the same issue.