Package that needs updating APT lists should require Class['apt::update']
package { "zend-server-ce-php-5.2":
ensure => "latest",
require => Class['apt::update']
}
If you're using custom APT source, just ensure correct ordering:
Apt::Source['my_source']
-> Class['apt::update']