The NCBI BLAST+ distribution does not include 'blastpgp', it has been replaced by the 'psiblast' program. The 'blastpgp' program is available in the legacy NCBI BLAST package (no longer supported), which is available from the NCBI's FTP site: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/release/2.2.26/.
At the moment the PSIPRED documentation recommends the use of the legacy NCBI BLAST programs for PSI-BLAST rather than using NCBI BLAST+. However the distribution does contain an alternative script that uses the NCBI BLAST+ suite ('runpsipredplus'). From your description it is unclear (both 'runpsipred' and 'runpsipredplus' will produce that error message) which version of the PSIPRED scripts you are using?
In any case the current distribution of PSIPRED is configured to use a 'uniref90filt' BLAST database for the PSI-BLAST search. This is not provided, so you have to make it yourself (this assumes you are in the root of the PSIPRED installation, so 'pfilt' is found correctly):
gunzip -v uniref90.fasta.gz
bin/pfilt uniref90.fasta > uniref90filt
formatdb -t uniref90filt -i uniref90filt
When using NCBI BLAST+ the 'formatdb' command should be replaced by the equivalent 'makeblastdb' command:
makeblastdb -dbtype prot -in uniref90filt -out uniref90filt
If you want to keep all your NCBI BLAST format databases in one place, you can use either the '$BLASTDB' environment variable or a '.ncbirc' file to configure a default location for the BLAST programs to look for the BLAST databases (see http://www.ncbi.nlm.nih.gov/books/NBK1763/#CmdLineAppsManual.Configuring_BLAST). Once this is configured you can put the database there, instead of in the PSIPRED installation. Alternatively you could modify the 'dbname' variable in the script to specify the complete path the the BLAST database, instead of just the name.